package io.输出字节流;

import java.io.*;

public class demo9 {
    public static void main(String[] args) throws IOException {
        OutputStream outputStream=new FileOutputStream("D:\\test.txt");
        //这就相当于把字节流传换成字符流了
        PrintWriter printWriter=new PrintWriter(outputStream);
        printWriter.printf("hello");
        printWriter.flush();
        //此处明明已经写入了字符串，但是文件里还是空的
        //PrintWriter这样的类，在进行写入的时候，不一定是直接写入硬盘，而是先把数据写入到一个内存构成的“缓冲区”中(buffer)
        //引入缓冲区，目的就是为了提高效率
        //把数据写入内存是非常快的；而写入硬盘要慢个上千上万倍
        //为提高效率，减少写硬盘的次数
        //但是当写入缓冲区后没来得及写入硬盘，进程就结束了，此时数据就丢了
        //为确保数据确实被写入硬盘，就应该在合适的时机手动冲刷 flush缓冲区，确保数据写入硬盘上了
        outputStream.close();
    }
}






























